package cn.wolfcode.trip.base.service;


import cn.wolfcode.trip.base.domain.Product;
import cn.wolfcode.trip.base.domain.ProductContent;
import cn.wolfcode.trip.base.query.QueryObject;
import com.github.pagehelper.PageInfo;

public interface IProductService {

    PageInfo<Product> listAll(QueryObject qo);

    /**
     * 新增更新商品,包括商品详情
     * @param entity
     */
    void saveOrUpdate(Product entity);

    /**
     * 根据分类查询商品列表
     * @param qo
     * @return
     */
    PageInfo queryProductByStatus(QueryObject qo);

    /**
     * 查询最新的五条商品
     * @param qo
     * @return
     */
    PageInfo queryProductByCreateTime(QueryObject qo);

    /**
     * 查询单个商品
     * @param id
     * @return
     */
    Product getProductById(Long id);

    /**
     * 查询商品详情
     * @param id
     * @return
     */
    ProductContent getProductContentById(Long id);
}
